package com.lmt.service;

import com.lmt.base.ResultData;
import com.lmt.entity.Resource;
import com.lmt.entity.ResourceTemp;
import com.lmt.entity.search.ResourceSearch;

/**
 * Date 2018/07/17
 *
 * @author MT-Lin
 */
public interface ResourceService {

	/**
	 * 保存审核通过的资源
	 * @param resource 要保存的资源
	 * @return ResultData
	 */
	ResultData save(Resource resource);

	/**
	 * 搜索资源
	 * @param resourceSearch 搜索条件
	 * @return ResultData
	 */
	ResultData search(ResourceSearch resourceSearch);

	/**
	 * 修改资源所属专题
	 * @param resourceSearch 修改的数据
	 * @return ResultData
	 */
	ResultData modifyDissertation(ResourceSearch resourceSearch);

	/**
	 * 从待审核资源添加资源信息
	 * @param resourceTemp 待审核资源
	 * @param auditRemark 审核备注
	 * @return ResultData
	 */
	ResultData addResourceFromResourceTemp(ResourceTemp resourceTemp, String auditRemark);

	/**
	 * 获取每个专题的前五个热门资源
	 * @return ResultData
	 */
	ResultData getTopFiveByDissertation();

	/**
	 * 根据资源ID查找资源
	 * @param resourceId 资源ID
	 * @return Resource
	 */
	Resource findOneById(String resourceId);

	/**
	 * 根据ID查找资源的详细信息
	 * @param id 资源ID
	 * @return ResultData
	 */
    ResultData getResourceDetail(String id);

	/**
	 * 获取作者基本信息
	 * @param resourceSearch 查询条件
	 * @return ResultData
	 */
	ResultData getAuthorInfo(ResourceSearch resourceSearch);
}
